<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->


<!DOCTYPE bindings SYSTEM "chrome://mozapps/locale/update/updates.dtd">

<bindings id="updatesBindings"
          xmlns="http://www.mozilla.org/xbl"
          xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:xbl="http://www.mozilla.org/xbl">

  <binding id="updateheader" extends="chrome://global/content/bindings/wizard.xml#wizard-header">
    <resources>
      <stylesheet src="chrome://global/skin/wizard.css"/>
    </resources>
    <content>
      <xul:hbox class="wizard-header update-header" flex="1">
        <xul:vbox class="wizard-header-box-1">
          <xul:vbox class="wizard-header-box-text">
            <xul:label class="wizard-header-label" xbl:inherits="value=label"/>
          </xul:vbox>
        </xul:vbox>
      </xul:hbox>
    </content>
  </binding>

  <binding id="update" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
    <content>
      <xul:hbox>
        <xul:label class="update-name" xbl:inherits="value=name" flex="1" crop="right"/>
        <xul:label xbl:inherits="href=detailsURL,hidden=hideDetailsURL" class="text-link"
                   value="&update.details.label;"/>
      </xul:hbox>
      <xul:label class="update-type" xbl:inherits="value=type"/>
      <xul:grid>
        <xul:columns>
          <xul:column class="update-label-column"/>
          <xul:column flex="1"/>
        </xul:columns>
        <xul:rows>
          <xul:row>
            <xul:label class="update-installedOn-label">&update.installedOn.label;</xul:label>
            <xul:label class="update-installedOn-value" xbl:inherits="value=installDate" flex="1" crop="right"/>
          </xul:row>
          <xul:row>
            <xul:label class="update-status-label">&update.status.label;</xul:label>
            <xul:description class="update-status-value" flex="1"/>
          </xul:row>
        </xul:rows>
      </xul:grid>
    </content>
    <implementation>
      <property name="name"
                onget="return this.getAttribute('name');"
                onset="this.setAttribute('name', val); return val;"/>
      <property name="detailsURL"
                onget="return this.getAttribute('detailsURL');"
                onset="this.setAttribute('detailsURL', val); return val;"/>
      <property name="installDate"
                onget="return this.getAttribute('installDate');"
                onset="this.setAttribute('installDate', val); return val;"/>
      <property name="type"
                onget="return this.getAttribute('type');"
                onset="this.setAttribute('type', val); return val;"/>
      <property name="hideDetailsURL"
                onget="return this.getAttribute('hideDetailsURL');"
                onset="this.setAttribute('hideDetailsURL', val); return val;"/>
      <property name="status"
                onget="return this.getAttribute('status');">
        <setter><![CDATA[
          this.setAttribute("status", val);
          var field = document.getAnonymousElementByAttribute(this, "class", "update-status-value");
          while (field.hasChildNodes())
            field.removeChild(field.firstChild);
          field.appendChild(document.createTextNode(val));
          return val;
        ]]></setter>
      </property>
    </implementation>
  </binding>
</bindings>
